The present invention relates to techniques for automatically recommending a programmable integrated circuit (IC). More particularly, the present invention relates to techniques for automatically recommending a programmable IC that is suitable for a circuit design.
A programmable logic integrated circuit (IC) is a general purpose IC that can be configured to implement a variety of circuit designs. Programmable logic ICs typically include repeating arrays of programmable logic blocks and memory blocks. Examples of programmable logic ICs include field programmable gate arrays (FPGA), programmable logic devices (PLDs), programmable logic arrays (PLAs), configurable logic arrays, etc.
PLD and FPGA manufacturers typically provide electronic design automation (EDA) tools that allow a user to build a circuit design in software using a hardware description language (HDL). An EDA tool synthesizes a circuit design into programmable logic blocks, places the logic blocks onto a particular IC, and configures the programmable routing connections between the logic blocks.
These processes are referred to as synthesis, place, and route. The synthesis, place, and route processes are usually targeted to a particular programmable logic device or family. Each device or family has a unique architecture that significantly effects the synthesis, place, and route processes. The user manually selects a particular programmable logic device or family prior to commencing synthesis, place, and route processes.
Once the user has manually selected a particular PLD or FPGA, a software tool can assist the user in selecting the appropriate sized device. However, previously known software tools have not assisted a user in making the determination of which PLD or FPGA to select in the first place. The user must have a detailed understanding of the architecture of all of the available PLDs and FPGAs in order to make an informed decision as to which device would best implement the user's circuit design.
Therefore, it would be desirable to provide techniques for automatically recommending a suitable programmable IC for a circuit design.